package com.ys.多线程.p8集合与多线程同步;

import java.util.ArrayList;

/**
 * 描述: TODO
 *
 * @author CodeYang
 * @version 2021/1/6 1:19
 */
public class P4操作原有ArrayList {

    public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<>();

        /**
         * 创建六个线程来访问ArrAyList集合
         */
        for (int i = 0; i < 6; i++) {
            new Thread(new Runnable() {
                @Override
                public void run() {
                    while (true){
                        list.add(1);

                    }
                }
            },"添加线程:"+(i+1)).start();
        }
       //  elementData[size++] = e; 挂 因为 size 被不同线程修改了,但是又可以同时读取,数据不稳定了没有使用锁
        /**
         * ArrayIndexOutOfBoundsException: 106710
         * 	at java.util.ArrayList.add(ArrayList.java:463)
         */

    }
}
